//
//  BTLoginViewController.m
//  WeChat
//
//  Created by 互联网 on 16/10/27.
//  Copyright © 2016年 bigtree. All rights reserved.
//

#import "BTLoginViewController.h"
#import "UIStoryboard+BT.h"
#import "AppDelegate.h"

@interface BTLoginViewController ()
@property (weak, nonatomic) IBOutlet UITextField *userField;
@property (weak, nonatomic) IBOutlet UITextField *pswFiled;
- (IBAction)LoginToHost:(id)sender;


@end

@implementation BTLoginViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
   
}
#pragma mark -- 登录
- (IBAction)LoginToHost:(id)sender {
    
    // 1.如果输入框内容为空，直接跳出
    if (self.userField.text.length == 0 || self.pswFiled.text.length == 0) {
        NSLog(@"用户名和密码不能为空");
        return;
    }
    
    [MBProgressHUD showMessage:@"正在登录。。。"];
    
    // 2.如果不为空，将信息保存到沙盒
    
//    [defaults setObject:self.userField.text forKey:@"user"];
//    [defaults setObject:self.pswFiled.text forKey:@"psw"];
//    [defaults synchronize];
    // 2.1 把用户和密码先放到账户中
    [BTAccout shareAccount].loginUser = self.userField.text;
    [BTAccout shareAccount].loginPsw = self.pswFiled.text;
    // 3.连接服务器，验证登录
#warning 解决block对对象的强应用，防止内存泄露
    __weak typeof(self) selfVC = self;
    
//   AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
    // 连接服务器进行登录
    [[BTXMPPTool sharedBTXMPPTool] xmppLogin:^(XMPPResultType result) {
        
        [selfVC handleXMPPResultType:result];
        
    }];

}
-(void)dealloc
{
    NSLog(@"%s",__func__);
}

#pragma Mark 处理登录结果
-(void)handleXMPPResultType:(XMPPResultType)resultType
{
    // 回到主线程更新UI
    dispatch_async(dispatch_get_main_queue(), ^{
        [MBProgressHUD hideHUD];
       
        if (resultType == XMPPResultTypeSuccess) {
            
            NSLog(@"%s 登录成功",__func__);
//            [self changeToMain];
            [UIStoryboard showInitialVCWithName:@"Main"];
            // 4.登录成功后改变跟控制器
            /**
             *  登录成功的回调在AppDelegate中，如何实现？
             1.代理
             2.通知
             3.block （实现一次回调是一般使用block）
             */
        // 登录成功后保存账户信息
            [BTAccout shareAccount].login = YES;
           [[BTAccout shareAccount] saveToSandBox];
 
        }else
        {
            [MBProgressHUD showError:@"登录名或者密码错误"];
        }
    });
}
#pragma mark -- 改变控制器
//-(void)changeToMain
//{
////    // 1. 获取main.storyBoard 的第一个控制器
////    id mainVC = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateInitialViewController];
////    
////    // 2.改变window的跟控制器
////    [UIApplication sharedApplication].keyWindow.rootViewController = mainVC;
//    [UIStoryboard showInitialVCWithName:@"Main"];
//}

@end
